#include<stdio.h>
#include<stdlib.h>
int v[100];
int a,b;
int e[20][20];
int mark[100]; 
void Init(){
	int v1,v2;
	scanf("%d%d",&a,&b);
	for(int i=0;i<a;i++){
		scanf("%d",&v[i]);
	}
	for(int i=0;i<a;i++){
		for(int j=0;j<a;j++){
			if(j==i){
				e[i][j]=1;
			}
			e[i][j]=0;
		}
	}
	for(int i=0;i<b;i++){
		scanf("%d%d",&v1,&v2);
		e[v1][v2]=1;
		e[v2][v1]=1;
	}
}
void View2(int i){
	printf("%d\t",v[i]);
	mark[i]=1;
	for(int j=0;j<b;j++){
		if(mark[j]==0){
		if(e[i][j]==1){
			View2(j);
		}}
	}
}
void View1(){
	for(int i=0;i<a;i++){
		mark[i]=0;
	}
     for(int i=0;i<a;i++){
     	if(mark[i]==0){
     		View2(i);
     	}
     }
}
int main(){
	Init();
	View1();
}
